package cn.mujiankeji.mbrowser.数据.配置项

import cn.mujiankeji.mbrowser.功能.阅读框.模型.间距
import cn.mujiankeji.mbrowser.工具.配置助手
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking

class 阅读器配置(val 配置 : 配置助手){
    fun 字体大小() : Flow<Int> = 配置.读取("阅读器字体大小",16)
    suspend fun 设置字体大小(size : Int) = 配置.设置("阅读器字体大小",size)

    fun 行段间距() : 间距{
        return try {
            runBlocking {
                配置.读取("阅读器行段间距",间距.较小.name).first().let {
                    间距.valueOf(it)
                }
            }
        }catch (e : Exception){
             间距.较小
        }
    }
    fun 设置行段间距(间距 : 间距){
        runBlocking {
            runBlocking { 配置.设置("阅读器行段间距",间距.name) }
        }
    }

    fun 页面边距() : 间距{
        return try {
            runBlocking {
                配置.读取("阅读器页面边距",间距.较小.name).first().let {
                    间距.valueOf(it)
                }
            }
        }catch (e : Exception){
            间距.较小
        }
    }
    fun 设置页面边距(间距 : 间距){
        runBlocking {
            runBlocking { 配置.设置("阅读器页面边距",间距.name) }
        }
    }

    fun 夜间模式() : Boolean {
        return runBlocking { 配置.读取("夜间模式",false).first() }
    }
    fun 设置夜间模式(b : Boolean){
        runBlocking {
            配置.设置("夜间模式",b)
        }
    }


}
